package com.ruoyi.bizsys.domain;

import java.math.BigDecimal;

import com.ruoyi.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 减免记录对象 reduce_fee
 *
 * @author african-loan
 * @date 2021-12-30
 */

@Data
public class ReduceFee extends BaseEntity {
    private static final long serialVersionUID = 1L;


    /**回溯减免记录-财务操作，只进行一次**/
    public static final String ACTION_TYPE_MONNIFLY_FINANCE = "MonniflyFinance";

    /**
     * PK
     */

    @Excel(name = "${comment}", readConverterExp = "PK")
    @TableId(type = IdType.AUTO)
    private Long id;


    /**
     * 减免流水号
     */

    @Excel(name = "减免流水号")
    private String reduceSerialNo;


    /**
     * 借据编号
     */

    @Excel(name = "借据编号")
    private String loanSerialNo;


    /**
     * 还款流水号
     */

    @Excel(name = "还款流水号")
    private String repaymentNo;


    /**
     * 客户号
     */

    @Excel(name = "客户号")
    private String custNo;


    /**
     * 减免总额
     */

    @Excel(name = "减免总额")
    private BigDecimal totalAmt;


    /**
     * 减免本金
     */

    @Excel(name = "减免本金")
    private BigDecimal loanPrincipal;


    /**
     * 减免服务费
     */

    @Excel(name = "减免服务费")
    private BigDecimal serviceFee;


    /**
     * 减免利息
     */

    @Excel(name = "减免利息")
    private BigDecimal loanInterest;


    /**
     * 减免滞纳金
     */

    @Excel(name = "减免滞纳金")
    private BigDecimal lateFee;


    /**
     * 减免来源
     */

    @Excel(name = "减免来源")
    private String reduceSource;


    /**
     * 减免说明
     */

    @Excel(name = "减免说明")
    private String reduceDesc;


    /**
     * 状态
     */

    @Excel(name = "状态")
    private String state;


    /**
     * 备注
     */

    @Excel(name = "备注")
    private String remark;


    /**
     * 创建者
     */

    @Excel(name = "备注")
    private String createBy;


    /**
     * 创建时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "备注", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;


    /**
     * 更新者
     */

    @Excel(name = "备注")
    private String updateBy;


    /**
     * 更新时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "备注", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateTime;

}